package com.meihuayishu.backend.repository;

import com.meihuayishu.backend.entity.YaoCi;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface YaoCiRepository extends JpaRepository<YaoCi, Long> {
    
    /**
     * 根据卦象ID查找所有爻辞
     * @param hexagramId 卦象ID
     * @return 爻辞列表
     */
    List<YaoCi> findByHexagramId(Long hexagramId);
    
    /**
     * 根据卦象ID和爻位查找爻辞
     * @param hexagramId 卦象ID
     * @param yaoPosition 爻位
     * @return 爻辞对象
     */
    YaoCi findByHexagramIdAndYaoPosition(Long hexagramId, Integer yaoPosition);
    
    /**
     * 根据爻的性质查找爻辞
     * @param yaoNature 爻的性质（阴或阳）
     * @return 爻辞列表
     */
    List<YaoCi> findByYaoNature(String yaoNature);
    
    /**
     * 根据关键字搜索爻辞
     * @param keyword 关键字
     * @return 爻辞列表
     */
    @Query("SELECT y FROM YaoCi y WHERE y.yaoCiText LIKE %:keyword%")
    List<YaoCi> searchByKeyword(@Param("keyword") String keyword);
}